package com.jinmdz.fmis.dao.model.settlement;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.constant.EDictCode;
import com.jinmdz.fmis.dao.base.BaseItem;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 日结审核查询结算列表Item
 *
 * @author LiCongLu
 * @date 2020-02-21 16:01
 */
public class SettleDailyExpensesAllSettleItem extends BaseItem {

    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 逝者姓名
     */
    private String deadName;

    /**
     * 结算批次编号
     */
    private String settleBatchNo;

    /**
     * 结算金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal settleCharge;

    /**
     * 结算时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date settleTime;

    /**
     * 结算类型
     */
    @JsonIgnore
    private Integer settleTypeCode;

    /**
     * 结算类型
     */
    @AnDict(dict = EDictCode.SETTLE_TYPE, ref = "settleTypeCode")
    private String settleType;

    /**
     * 付款方式
     */
    private String payType;

    /**
     * 发票号码
     */
    private String invoiceNo;

    /**
     * 收据号
     */
    private String receiptNo;

    /**
     * 是否审核
     */
    private Integer asVerify;

    /**
     * 结算经办人
     */
    private String settleUserName;

    /**
     * 是否审核文本
     */
    private String asVerifyText;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date verifyTime;

    /**
     * 审核人员
     */
    private String verifyUserName;

    public String getBusinessCode() {
        return businessCode;
    }

    public SettleDailyExpensesAllSettleItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SettleDailyExpensesAllSettleItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getSettleBatchNo() {
        return settleBatchNo;
    }

    public SettleDailyExpensesAllSettleItem setSettleBatchNo(String settleBatchNo) {
        this.settleBatchNo = settleBatchNo;
        return this;
    }

    public BigDecimal getSettleCharge() {
        return settleCharge;
    }

    public SettleDailyExpensesAllSettleItem setSettleCharge(BigDecimal settleCharge) {
        this.settleCharge = settleCharge;
        return this;
    }

    public Date getSettleTime() {
        return settleTime;
    }

    public SettleDailyExpensesAllSettleItem setSettleTime(Date settleTime) {
        this.settleTime = settleTime;
        return this;
    }

    public Integer getSettleTypeCode() {
        return settleTypeCode;
    }

    public SettleDailyExpensesAllSettleItem setSettleTypeCode(Integer settleTypeCode) {
        this.settleTypeCode = settleTypeCode;
        return this;
    }

    public String getSettleType() {
        return settleType;
    }

    public SettleDailyExpensesAllSettleItem setSettleType(String settleType) {
        this.settleType = settleType;
        return this;
    }

    public String getPayType() {
        return payType;
    }

    public SettleDailyExpensesAllSettleItem setPayType(String payType) {
        this.payType = payType;
        return this;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public SettleDailyExpensesAllSettleItem setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
        return this;
    }

    public String getReceiptNo() {
        return receiptNo;
    }

    public SettleDailyExpensesAllSettleItem setReceiptNo(String receiptNo) {
        this.receiptNo = receiptNo;
        return this;
    }

    public Integer getAsVerify() {
        return asVerify;
    }

    public SettleDailyExpensesAllSettleItem setAsVerify(Integer asVerify) {
        this.asVerify = asVerify;
        return this;
    }

    public String getSettleUserName() {
        return settleUserName;
    }

    public SettleDailyExpensesAllSettleItem setSettleUserName(String settleUserName) {
        this.settleUserName = settleUserName;
        return this;
    }

    public String getAsVerifyText() {
        return asVerifyText;
    }

    public SettleDailyExpensesAllSettleItem setAsVerifyText(String asVerifyText) {
        this.asVerifyText = asVerifyText;
        return this;
    }

    public Date getVerifyTime() {
        return verifyTime;
    }

    public SettleDailyExpensesAllSettleItem setVerifyTime(Date verifyTime) {
        this.verifyTime = verifyTime;
        return this;
    }

    public String getVerifyUserName() {
        return verifyUserName;
    }

    public SettleDailyExpensesAllSettleItem setVerifyUserName(String verifyUserName) {
        this.verifyUserName = verifyUserName;
        return this;
    }
}
